package com.bridgeintelligent.tag.mapper;

import com.bridgeintelligent.tag.webserver.dim.mgmt.api.report.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ReportMapper {

    List<ReportSystemUseInfo> systemUseInfo(String sortWord);

    ReportSystemUseInfo systemUseInfoTotal();

    ReportSystemUseInfo systemUseInfoByTime(@Param("datetime")String datetime);

    List<ReportOrgUseInfo> orgUseInfo(@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("sortWord") String sortWord);

    ReportOrgUseInfo orgUseInfoSum(@Param("startTime") String startTime,@Param("endTime") String endTime);

    ReportOrgUseInfo orgUseLastTimeSum(@Param("endTime") String endTime);

    ReportOrgUseInfo orgUseActualTimeSum(@Param("startTime") String startTime,@Param("endTime") String endTime);

    Integer findBaseTotal(@Param("endTime")String endTime);

    Integer findDimTotal(@Param("endTime")String endTime);

    List<ReportHotDimInfo> hotDimInfo(@Param("dimType")String dimType);

    List<ReportCombinationCustomizeInfo> combinationBustomizeInfo(@Param("selectType")String selectType,@Param("sortWord")String sortWord);

    List<ReportCustomerUseInfo> customerUseInfo(@Param("sortWord")String sortWord);

    List<ReportCustomerCreateInfo> customerCreateInfo(@Param("sortWord")String sortWord);

    List<ReportSystemModelUseInfo> systemModelUseInfo();

    ReportMonitorBordInfo monitorBordInfo();

    List<OrgInfo> findOrgList(@Param("orgName")String orgName);

    List<ReportSystemModelDetailInfo> modelDetailInfo(@Param("modelType") String modelType,@Param("sortWord") String sortWord);

    List<ReportSystemModelDetailInfo> modelDetailMaxInfo();

    List<ReportSystemModelTypeInfo> modelTypeInfo();

    List<OrgUserLoginModel> orgUserLogin(@Param("orgId")String orgId,@Param("sortWord")String sortWord,@Param("startTime") String startTime,@Param("endTime") String endTime);

    List<OrgUserCustomerModel> orgUserCustomer(@Param("orgId")String orgId,@Param("sortWord")String sortWord,@Param("startTime") String startTime,@Param("endTime") String endTime);

    List<OrgUserDimModel> orgUserDim(@Param("orgId")String orgId,@Param("sortWord")String sortWord,@Param("startTime") String startTime,@Param("endTime") String endTime);

    List<ReportOrgMonthInfo> orgMonthInfo(@Param("startTime") String startTime,@Param("endTime") String endTime);
}
